package com.itheima.d6_tcp3;

import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.util.Scanner;

/*
   目标：完成TCP通信快速入门-客户端开发：实现1发1收。
 */
public class Client {
    public static void main(String[] args) throws Exception {
        // 1、创建Socket对象，并同时请求与服务端程序的连接。
       // Socket client = new Socket("192.168.49.64", 9099);
      Socket client = new Socket("127.0.0.1", 6688);
        // 2、从socket通信管道中得到一个字节输出流，用来发数据给服务端程序。

        OutputStream os = client.getOutputStream();
        // 3、把低级的字节输出流包装成高效的输出流
        //                              h缓冲流        转换流              字节流
        BufferedWriter netOut = new BufferedWriter(new OutputStreamWriter(os));

        Scanner scanner = new Scanner(System.in);


        while (true) {
            // 4、开始写数据出去了
            System.out.println("请说");
            String str = scanner.nextLine();
            if ("exit".equals(str)) {
                System.out.println("成功退出链接");
                break;
            }

            netOut.write(str);
            netOut.newLine();//多线程要加这一行啊 不然服务端读不出来信息
            netOut.flush();
            os.flush();
        }




        // 5、释放连接资源
        netOut.close();
        os.close();
        client.close();
    }
}
